Command based composite templates

ABSTRACT

A method and system for causing a command-based composite template to be displayed in a communication stream are disclosed, the composite template including representations of first and second users combined with a representation of a selected template.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of prior Application No. 17/524,299,filed on Nov. 11, 2021, which is incorporated by reference herein in itsentirety.

TECHNICAL FIELD

The present disclosure generally refers to methods and systems forcommand-based generation of personalized composite templates in acommunication stream in accordance with some embodiments.

BACKGROUND

The use of software and hardware technologies have become a commonplacemethod of communication between people. Text communication, inparticular, such as through instant messaging, text messaging, chatapplications, email communications, etc., has become a primary way ofcommunication. However, text communication lacks the ability to conveyemotions and nuanced human behaviors that are perceivable inface-to-face, and even video and voice interactions.

SUMMARY

Electronic communication occurs nearly instantaneously. Althoughtechnology improvements allow people to send and receive text, images,audio, and other electronic media with speed and reliability, virtualinteractions can still feel stale and impersonal. Systems and methodscontemplated herein include command-based generation and display ofcomposite templates in electronic communication to, among other things,improve the richness of connection between people over electronic media,and to improve the creation and insertion of templates indicating adesired reaction or activity in electronic communication.

Embodiments of the present disclosure include a method and system forcausing a command-based composite template to be displayed in acommunication stream. The system can include one or more processors anda memory storing computer-executable instructions that, when executed,cause the one or more processors to control the system to perform thefollowing operations, including detecting an action command in a composefield of a communication platform of a first user, wherein the actioncommand indicates a function to be performed by the system, and,responsive to detecting the action command in the compose field,receiving a username of a second user in the compose field and enteringa template selection mode allowing for selection of a composite template(e.g., a personalized composite template) to be displayed in thecommunication stream comprising providing, based upon one or more rulesin the template selection mode, a set of selectable templates to thefirst user, the selectable templates indicating the desired reaction oractivity corresponding to the first and second users, the one or morerules defining priority or determination of the set of selectabletemplates, and, responsive to providing the set of selectable templates,receiving a selected one of the set of selectable templates as aselected template from the first user and causing a composite templatecomprising representations of the first and second users combined with arepresentation of the selected template to be displayed in thecommunication stream.

The claimed subject matter may be implemented as a method, apparatus, orarticle of manufacture using standard programming and engineeringtechniques to produce software, firmware, hardware, or any combinationthereof to control a computing device to implement the disclosed subjectmatter. The term, “article of manufacture,” as used herein is intendedto encompass a computer program accessible from any computer-readablestorage device or media. Computer-readable storage media can include,but are not limited to, magnetic storage devices, e.g., hard disk,floppy disk, magnetic strips, optical disk, compact disk (CD), digitalversatile disk (DVD), smart cards, flash memory devices, among others.In contrast, computer-readable media (i.e., not storage media) mayadditionally include communication media such as transmission media forwireless signals, etc.

This Summary is provided to introduce a selection of concepts that arefurther described below in the Detailed Description. It is not intendedto identify key features or essential features of the claimed subjectmatter, nor is it intended to be used to limit the scope of the claimedsubject matter.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The disclosed aspects will hereinafter be described in connection withthe appended drawings that are provided to illustrate and not to limitthe disclosed aspects.

FIG. 1 illustrates an example computer system for providing acommunication stream between users.

FIG. 2 illustrates an example user interface of a communication platformincluding a shortcut menu.

FIGS. 3A-3C illustrate an example user interface of a communicationplatform including interactions with an “@mention” menu.

FIGS. 4A-4E illustrate an example user interface of a communicationplatform including interaction with a selectable icon menu.

FIGS. 5A-5G illustrate an example user interface of a communicationplatform including interaction with a selectable template menu.

FIGS. 6-7 illustrate example personalized composite icons and templates.

FIG. 8 illustrates an example method for providing command-basedpersonalized composite icons in a communication stream.

FIG. 9 illustrates an example method for causing a notification to bedisplayed to a selected user in a communication stream.

FIG. 10 illustrates an example method for providing command-basedpersonalized composite templates in a communication stream.

FIG. 11 illustrates an example method for causing an embedded functionbetween first and second users to be activated in response to theprovided command-based personalized composite template.

FIG. 12 illustrates an example system including a client device.

FIG. 13 illustrates an example networking environment including one ormore client devices, a communication engine server, and an icon/templatedatabase communicating over a network.

DETAILED DESCRIPTION

Text communication lacks the ability to convey emotions and nuancedhuman behaviors that are perceivable in face-to-face, and even video andvoice interactions. Readers are more likely to perceive textcommunication in their current emotion, and not in the emotion intendedby its author. Even two-dimensional video communication cannot providethe full range of emotions and nuanced human behaviors that areperceivable in three-dimensional face-to-face interactions.

Images and emojis can be inserted into communication streams to provideemotional feedback to aid communication or interpretation of text orvideo interactions. However, conventional images and emojis availablefor prompt insertion into communication streams lack features that allowa richer emotional connection and feedback, and selection inconventional systems often requires the user to divert focus away fromthe compose field of a communication platform to navigate predetermined,selectable, or searchable menus of images or emojis, often indexed via aseparate search bar or additional selection of categories, and selectedor inserted through an additional tap, mouse click, selection, or othermanual input from outside of the compose field.

Managing, navigating, and selecting between a growing number ofdifferent selectable menus of images or emojis has become increasinglydifficult and time consuming, particularly for users of small deviceswith limited screen space, distracting the focus of the user fromcommunication in the communication stream, in certain examples requiringenormous screen space, or requiring navigation of many menus. A growingtechnical problem exists in managing, navigating, and selecting betweenthe growing number of different selectable menus of images or emojis,exacerbated by the increase in text communication in different mediums.

The present inventor has recognized, among other things, systems andmethods to provide command-based generation, selection, and display ofpersonalized composite icons or templates, indicating desired reactionsor activities of a first user, in communication streams. Communicationstreams can include text streams (e.g., text messaging, emailcommunication, etc.), video streams (e.g., video calls, etc.), or one ormore communication threads between two or more users, such as of aconversation group in a communication interface or platform.

A technical solution contemplated herein provides an automated,rule-based system for providing command-based generation of personalizedcomposite icons of a first user for communicating an emotion or intendedemotion of the first user in a communication stream in response to anaction command, in certain examples, without the first user navigatingor moving away from traditional character entry in the compose field. Anadditional technical solution contemplated herein provides rule-basedgeneration, selection, and display of personalized icons, specific to apersonal representation of the first user, such as by incorporating arepresentation of the first user, such as an avatar or profile pictureof the first user, with a reaction or emoji for insertion into thecommunication stream, improving the communication functionality of theelectronic systems and selection, navigation, and incorporation ofnon-textual content into the communication stream.

The action command can include a character, a symbol, or combination ofcharacters or symbols indicating a desired action, or one of a set ofdesired actions, of the first user. In an example, the action commandcan include an “@” symbol, followed by (e.g., directly or immediatelysucceeding) one or more characters (e.g., a first one or morecharacters) of a username of the first user typing, entering, orproviding the action command in the command box. Characters generallyinclude letters, numbers, or symbols, such as selectable by a first userusing a keyboard. In response to receiving the action command and theone or more characters of the username of the first user, the system ormethod can compose or provide a first set of selectable personalizedcomposite icons to the first user for selection and insertion into thecommunication stream. The personalized composite icons can include anavatar, a picture, or a representation of the first user (e.g., selectedby the first user, such as a profile picture, etc.), in combination withan emoji, an emotion, or an intended emotion of the first user (e.g., aselectable one or more of a set of emojis or emotions). A computerimplemented system and method provides a technical solution thatcomposes, selects, and displays, based on one or more rules, a set ofpersonalized composite icons to the first user for further selection anddisplay in the communication stream.

In contrast, conventional systems require separate navigation ofmultiple menus of either predefined or text searchable menus, orindividual creation or customization of emojis, each diverting focus ofthe first user from the compose field and the communication stream, andoften requiring manual input from the first user at a separate locationfrom the compose field.

A further technical solution contemplated herein provides selectionbetween multiple modes depending on one or more characters receivedimmediately following an action command. In an example, a first mode caninclude a conventional response to the action command, and a second modecan include a different, personal response to the action commanddescribed above. For example, if the action command includes the “@”symbol, receiving the “@” symbol and one or more character can triggerone of the first or second modes, depending on the character orcombination of characters entered after or succeeding the “@” symbol.The first mode can include a conventional “@mention” response triggeredin response to receiving the “@” symbol and one or more characters(e.g., different than a first one or more characters of the username ofthe first user providing the “@” symbol). A list of users starting withthat character in either the existing communication stream, available tothe first user providing the action command, or available to be added tothe existing communication stream can be generated and presented to thefirst user for insertion into the communication stream. Mentioned userscan be notified, and in certain examples, added, if not already a userof the communication stream. The generated list of users can be furthernarrowed and sorted with each additionally received character followingthe “@” symbol until the first user makes a selection, exhausts the listof users, or exits the function of the conventional “@mention” response,such as by entering backspace, left arrow, delete, or escape symbols,selecting away from the generated list, etc. Traditional autocompletesuggestions can be made to complete the username according to one ormore rules, such as giving priority to users already members orparticipants in the communication stream, or scoring by one or moreother factors, such as a history of the first user, an amount ofparticipation in the communication stream, etc.

In contrast, the second mode can include the personal response to theaction command triggered in response to receiving the “@” symbolfollowed by one or more characters of the username of the first usertyping, entering, or providing the “@” symbol in the compose field. Inother examples, the second mode may not be triggered until a number ofsuccessive characters of the username of the first user, such as a firsttwo, three, or four successive characters of the username of the firstuser, are received, such as to balance use of the different modes. Inyet other examples, the second mode can be triggered when enoughcharacters are entered following the “@” symbol to narrow the availablelist of users to the user typing, entering, or providing the “@” symbolin the communication stream. In certain examples, the number of requiredsuccessive characters of the username of the first user typing,entering, or providing the “@” symbol to trigger the second mode can bedynamic based on usage of the first and second modes by the first userin this or other communication streams. If the first user seldomly usesthe second mode, more successive characters of the username of the firstuser can be required to trigger the second mode. In contrast, if thefirst user more frequently uses the second mode, if the last use of theaction command of the first user was with the second mode, or the recentor short-term use of the second mode of the first user is increasingwith respect to use of the first mode, fewer successive characters ofthe username may be required to trigger the second mode. For example, ifthe last use of the action command was associated with the second mode(and not the first mode), only the “@” symbol and a first character ofthe username of the first user typing, entering, or providing the “@”symbol may be required to trigger generation of the first set ofselectable personalized composite icons for selection and insertion intothe communication stream.

In certain examples, the second mode can transition to the first mode byreceiving one or more additional characters the same as or differentthan the following successive characters in the username of the firstuser typing, entering, or providing the “@” symbol in the communicationstream. In one example, once the second mode is initially triggered andthe first set of selectable personalized composite icons are generatedand provided to the first user, additional character entry in thecompose field can transition away from the second mode, such as back tothe first mode, or to a different third mode (e.g., automated textsuggestion, display of entered characters only, etc.). In anotherexample, once the second mode is initially triggered and the first setof selectable personalized composite icons are generated or provided tothe user, additional character entry can filter or sort the set ofselectable personalized composite icons provided to the first user, incertain examples, before the username of the first user is complete inthe compose field. In this example, exit from the second mode, ortransition from the second mode to the first mode or to the third mode,etc., can require entry of a backspace, left arrow, delete, or escapesymbol, or selection away from the generated list.

In other examples, the second mode can be triggered and distinguishedfrom the first mode by a specific set or sequence of characters, such as“@me” or “@me” followed by an enter or return character.

An additional technical problem exists in that scheduling or activatingadditional activities (e.g., features, actions, etc.) between users(inside or separate from the communication stream) requires navigatingor diverting focus away from the compose field and the communicationstream for the one or more users invoking or interacting with theadditional activities.

A technical solution contemplated herein provides an automated,rule-based system for providing command-based activation or generationof additional activities, such as by generation, selection, and displayof one or more personalized templates by a first user between one ormore additional users in a communication stream in response to an actioncommand, in certain examples, without the first user navigating ormoving away from traditional character entry in a communication stream,such as from a compose field, etc.

In an example, a first user can type, enter, or provide an actioncommand in a compose field, such as an “@” symbol, followed by one ormore characters of a username of a second user, an intended recipient ofthe additional activity (e.g., feature, action, etc.) in thecommunication stream. In response to receiving the “@” symbol and one ormore characters of the username of the second user, a first set ofselectable templates can be generated and provided to the first user forselection and engagement with the intended recipient in thecommunication stream. The additional activities (e.g., features,actions, etc.) can include, among other things, a selectable one or moreof: booking a restaurant, pulling in calendars for both users to find anavailable time or date, activating a voice or video communication,booking a flight or hotel, sharing a file, activating a game or otherapplication, or one or more other activities, separately from or incombination with a reaction, such as one or more of an emoji, anemotion, or an intended emotion of the user (e.g., a selectable one ormore of a set of emojis or emotions).

FIG. 1 illustrates an example computer system 100 for providing acommunication stream between users, such as a first user (USER1) 106 ofa first user device 101 and a second user (USER2) 116 of a second userdevice 111. The first user 106 and the second user 116 can communicate,using the first and second user devices 101, 111, directly orindirectly, through a communication engine service 110. Thecommunication engine service 110 can manage communication streams,including emails, documents, chats, comments, texts, images, animations,hyperlinks, or voice or video communication for a group of users, suchas of one or more communication platforms, through connected devices,such as the first and second user devices 101, 111 or any number ofadditional authorized devices and users. Groups of users can includeorganized groups, subgroups, or channels of employees within anorganization, or other self-organized groups of users inside or outsideof an organization or between multiple organizations. In an example, thecommunication module 102 can include one or more communication platforms(e.g., Microsoft Teams, Skype, etc.) installed on or accessible to arespective user device, or the communication module 102 can includehardware and software configured to enable the one or more communicationplatforms to communicate to or from the respective user device.

The first user device 101 is exemplary, and can include a communicationmodule 102 configured to communicate with one or more additionaldevices, such as the second user device 111, either directly or throughthe communication engine service 110. The communication module 102 canbe configured to send or receive information to or from thecommunication engine service 110. The communication module 102 caninclude an image module 103, a display module 104, a configurationmodule 105, or one or more other modules.

The image module 103 can be configured to send, receive, or store imagesassociated with the communication engine service 110. In certainexamples, the images can include icons, such as emojis, representationsof emotions (e.g., emoticons), pictures, drawings, avatars, profilepictures, representations of one or more users, etc. In certainexamples, the image module 103 can include a repository of images of thefirst user device 101 or otherwise associated with the first user 106(e.g., cloud-based storage, online profiles, etc.). The display module104 can be configured to display messages and other visual contentassociated with the communication module 102, such as using a display orportion of a display of the first user device 101. The configurationmodule 105 can be configured to receive, store, and maintain one or moreof device or user profiles, including selected user settings orpreferences, previous user selections, or one or more other settings orpreferences of the first user 106 or one or more other users, such asassociated with a communication stream of the communication engineservice 110, etc. In other examples, the one or more device or userprofiles can be stored or maintained in a data structure or database ofor accessible by the communication engine service 110.

FIG. 2 illustrates an example user interface 200 of a communicationplatform for a first user including a shortcut menu 230 triggered byentry of a short-code 226 in a compose field 216. The short-code 226illustrated in FIG. 2 is an open parentheses “(“ character. Otherexample short-codes include a colon (“:”), double-colon (“::”), openbracket (“[“), or at symbol (“@”).

The shortcut menu 230 includes a set of one or more shortcuts,illustrated in FIG. 2 as emojis 231-237 and respective text descriptions(“(SHORTCUT 1)”-“(SHORTCUT 7)”) 238-244. The set of one or moreshortcuts selected for display or provided in the shortcut menu 230 canbe filtered from a larger plurality of available shortcuts, sorted andselected according to, among other things, text descriptions of therespective emojis matching one or more characters 227 from the composefield 216 following the short-code 226, such as between the short-code226 and a cursor 228, directly succeeding the short-code 226. Forexample, if the one or more characters 227 from the compose field 216between the short-code 226 and the cursor 228 include or consist of thetext characters “SA”, the set of one or more shortcuts can includeemojis having corresponding text descriptions starting with orcontaining the text characters “SA”, such as: “SAD”, “SALT”, “SAKE”,“SARI”, “SANTA”, “SALAD”, “SADCAT”, “SANDER”, etc.

The shortcut menu 230 can include a highlighted selection 245, initially(without additional user input) a default selection, a highest ratedselection, a most-recent selection, or a closest match to the one ormore characters 227 from the compose field 216 following (or directlysucceeding) the short-code 226. The highlighted selection 245 can changeupon input by the first user, such as by a filter or sort associatedwith additionally received one or more characters in the compose field216, selection characters (e.g., an up arrow, a down arrow, etc.), orselection of a shortcut or movement of a user input over the shortcutmenu 230.

The compose field 216 can include autocomplete characters 229 of thehighlighted selection 245 after the cursor 228, in certain exampleshaving a different font than the one or more characters 227 entered bythe first user in the compose field 216 until the autocompletecharacters 229 are optionally accepted by the first user, such as by aselection character (e.g., a right arrow, a tab character, etc.).Selecting a shortcut from the shortcut menu 230, entering all charactersof a shortcut of the shortcut menu 230 in the compose field 216following the short-code 226, or entering a selection character toselect the highlighted selection 245 or autocomplete characters 229(e.g., a right arrow selection character, a tab character, etc.) canautomatically fill the compose field 216 with the selected shortcut or arepresentation of the selected shortcut to be displayed in thecommunication stream upon selection of a send button 217 or other sendaction or character (e.g., an enter or return character from an activecursor in the compose field 216, etc.).

The user interface 200 additionally includes a header portion 202 havinga number of configurable fields, including an avatar (U1) 203 of thefirst user, a username (“USER1 NAME”) 204 of the first user, a statusbadge 205 indicating a current status of the first user (e.g., online,available, offline, unavailable, etc.), a custom emoji 206 of the firstuser, a status message 207 of the first user, a group avatar (G1) 210for a group associated with the communication thread, and a group name211 of the group. The body portion 215 includes right- andleft-justified messages of a communication thread, the compose field216, and a send button 217. The right-justified messages (e.g., messages220, 221, and 224) include messages of the first user, for example,entered in the compose field 216 and sent upon selection of the sendbutton 217 or other send action or character. The left-justifiedmessages (e.g., messages 222, 223, and 225) include messages of one ormore users separate from the first user. The compose field 216optionally includes an emoji field 218, selection of which requires userinput and selection away from the compose field 216 (e.g., a mouse ortouch-screen interface, etc.), and launches a separate emoji menu,diverting focus of the first user and the active cursor away from thecompose field 216.

In an example, the communication thread illustrated in the body portion215 of the user interface 200 of the communication platform can be onethread of a communication stream of a group of users comprising thefirst user (e.g., an organization or larger group of users, etc.). Thecommunication stream can include data from the communication thread or anumber of communication threads, in certain examples, includingcommunication threads from a number of different communicationplatforms, from the group of users. For example, a communication threadcan include a conversation between a first user of an organization and asecond user, whereas a communication stream can include allcommunication of the first user or the organization on thiscommunication platform or a number of communication platforms.

FIGS. 3A-3C illustrate an example user interface 300 of a communicationplatform of a first user including interactions with an “@mention” menu330 triggered by entry of an at symbol (“@”) short-code 326 in a composefield 316.

The user interface 300 includes a header portion 302 having a number ofconfigurable fields, including an avatar 303 of the first user, ausername 304 of the first user, a status badge 305, a custom emoji 306of the first user, a status message 307 of the first user, a groupavatar 310 for a group associated with the communication thread, and agroup name 311 of the group. The body portion 315 includes right- andleft-justified messages of a communication thread, the compose field316, and a send button 317. The right-justified messages (e.g., messages320, 321, and 324) include messages of the first user, for example,entered in the compose field 316 and sent upon selection of the sendbutton 317 or other send action or character. The left-justifiedmessages (e.g., messages 322, 323, and 325) include messages of one ormore users separate from the first user. The compose field 316optionally includes an emoji field 318, selection of which requires userinput and selection away from the compose field 316, and launches aseparate emoji menu, diverting focus of the first user and the activecursor away from the compose field 316.

The “@mention” menu 330 includes a set of one or more users, illustratedin FIG. 3A as avatars 331-337 and respective usernames (“USER2”-“USER8”)338-344. The set of one or more users can be selected from a pluralityof users available to (but different from) the first user according to,among other things, the usernames matching one or more characters 327from the compose field 316 following the “@” short-code 326, such asbetween the “@” short-code 326 and a cursor 328. The avatars 331-337 caninclude selected avatars or profile pictures representative of orassociated with the respective one or more users. The plurality of usersavailable to the first user can include one or more users of orassociated with the group or otherwise available to the first user inthe communication stream. For example, if the one or more characters 327from the compose field 316 between the “@” short-code 326 and the cursor328 include the text character “S”, the set of one or more users caninclude users available to the first user having respective usernamesstarting with the text character “S” at some major portion, including afirst letter of a first name or a last name associated with theusername, a first character of the username, a first character of anemail address associated with the username, etc.

The “@mention” menu 330 can include a highlighted selection 345,initially (without additional user input) a default selection, a highestrated selection, a most-recent selection, or a closest match to the oneor more characters 327 from the compose field 316 following (or directlysucceeding) the “@” short-code 326. The highlighted selection 345 canchange upon input by the first user, such as by a filter or sortassociated with additionally received one or more characters in thecompose field 316, selection characters (e.g., an up arrow, a downarrow, etc.), or selection of a username or movement of a user inputover the “@mention” menu 330.

The compose field 316 can include autocomplete characters 329 of thehighlighted selection 345 after the cursor 328, in certain exampleshaving a different font than the one or more characters 327 entered bythe first user in the compose field 316 until the autocompletecharacters 329 are optionally accepted by the first user, such as by aselection character (e.g., a right arrow, a tab character, etc.).Selecting a user from the “@mention” menu 330, entering all charactersof a username of the “@mention” menu 330 in the compose field 316following “@” short-code 326, or entering a selection character toselect the highlighted selection 345 or autocomplete characters 329(e.g., a right arrow selection character, a tab character, etc.) canautomatically fill the compose field 316 with the username of theselected user or a representation of the selected user to be displayedin the communication stream upon selection of a send button 317 or othersend action or character (e.g., an enter or return character from anactive cursor in the compose field 316, etc.). In addition to displayingthe username of the selected user in the communication stream, separatenotification of the “@mention” in the communication stream can beprovided to the selected user, separate from the communication thread.

After selecting a user, an additional character message can optionallybe input in the compose field 316. For example, in FIG. 3B, the seconduser (“USER2”) 338 has been selected and an additional character message“HOW’S IT GOING?” has been entered in the compose field 316. FIG. 3Cillustrates an additional right-justified message 346 including thedisplayed username of the selected user and the additional charactermessage.

In an example, the communication thread illustrated in FIG. 3B caninclude a chat interface of a communication platform between the firstand second users. In an example, the separate notification of the“@mention” in the communication stream can include a notification to oneor more different devices of the second user, such as a desktopnotification separate from the or in addition to the communicationthread, a notification on the communication platform, a mobilenotification, or an email communication to the second user separate fromthe chat interface illustrated in FIG. 3B.

FIGS. 4A-4E illustrate an example user interface 400 of a communicationplatform of a first user including interaction with a selectable iconmenu 430 in a personal reaction mode triggered by entry of an actioncommand 426 in a compose field 416 followed by one or more characters ofa username of the first user. In contrast to the “@mention” menu 330 ofFIGS. 3A-3C directed to a second user, the selectable icon menu 430 isdirected to the first user and enables selection of a command-basedpersonalized composite icon to be displayed in a communication stream,without diverting the focus or active cursor of the first user away fromthe compose field 416 of the communication platform, and in certainexamples without the hands of the first user leaving the keyboard andwithout prior custom setup. In certain examples, the personal reactionmode can be triggered upon entry of the action command 426 and a firstone or more characters of the username of the first user, a first orlast name of the first user, or an email address associated with thefirst user. In other examples, to distinguish from different usershaving the same first one or more characters, the username of the firstuser must be completely entered or accepted following the action command426 to trigger the personal reaction mode.

The action command 426 can include a symbol, such as a keyboard symbol,including a specific one or more of an at symbol (“@”), an open bracket(“[“), an open parentheses (“(“), a colon symbol (“:”), one or moreother symbols, one or more double symbols (e.g., “@@”, “[[“, “((“, “::”,etc.), or combinations of different symbols. The command-basedpersonalized composite icon can include a representation of the firstuser, such as an avatar or profile picture combined with a selected iconindicating a desired reaction of the first user. In certain examples,selection of an icon, such as for display in the communication stream oras one of a set of selectable icons, can trigger generation of thepersonalized composite icon.

The user interface 400 includes a header portion 402 having a number ofconfigurable fields, including an avatar 403 of the first user, ausername 404 of the first user, a status badge 405, a custom emoji 406of the first user, a status message 407 of the first user, a groupavatar 410 for a group associated with the communication thread, and agroup name 411 of the group. The body portion 415 includes right- andleft-justified messages of a communication thread, the compose field416, and a send button 417. The right-justified messages (e.g., messages420, 421, and 424) include messages of the first user, for example,entered in the compose field 416 and sent upon selection of the sendbutton 417 or other send action or character. The left-justifiedmessages (e.g., messages 422, 423, and 425) include messages of one ormore users separate from the first user. The compose field 416optionally includes an emoji field 418, selection of which requires userinput and selection away from the compose field 416, and launches aseparate emoji menu, diverting focus of the first user and the activecursor away from the compose field 416.

The selectable icon menu 430 includes a set of selectable icons,illustrated in FIG. 4A as selectable icons 454-460 and respective textdescriptions 461-467. In certain examples, the set of selectable iconscan be combined and displayed with a representation of the first user447, such as an avatar (U1) or a profile picture of the first user, inthe selectable icon menu 430. In other examples, the representations ofthe first user 447 can be omitted from the selectable icon menu 430.

The selectable icons can include a number of different desired reactionsof the first user, in certain examples, including emojis or other imagesconfigured to convey an emotion or a reaction. The set of selectableicons selected for display or provided in the selectable icon menu 430can be filtered from a larger plurality of selectable icons. Theselectable icons 454-460 illustrated in FIG. 4A can include an initialor default set of selectable icons, corresponding to those most used bythe group, by the first user, by users of the communication stream, etc.The set of selectable icons in the selectable icon menu 430 can befurther narrowed or sorted by user preference or entry of additionalcharacters (e.g., according to text descriptions of the respectiveselectable icons matching one or more additional characters from thecompose field 416 following the username of the first user, etc.).

The selectable icons 454-460 in FIG. 4A include a thumbs-up emoji 454, aheart emoji 455, a laughing emoji 456, a surprised emoji 457, a sademoji 458, an angry emoji 459, and a default emoji 460, each havingassociated respective text descriptions 454-460. In other examples, theset of selectable icons can include one or more other emojis, icons, orreactions, including more, less, or different selectable icons thanillustrated in FIG. 4A.

The selectable icon menu 430 can include a highlighted selection 445,initially (without additional user input) a default selection, a highestrated selection, a most-recent selection, or a closest match to anadditional one or more characters in the compose field 416 following theusername of the first user. The highlighted selection 445 can changeupon input by the first user, such as by a filter or sort associatedwith the additional one or more characters in the compose field 416,selection characters (e.g., an up arrow, a down arrow, etc.), orselection of a selectable icon or movement of a user input 470 over theselectable icon menu 430, such as illustrated in FIG. 4B. Selection of aselectable icon, such as by the user input 470 (e.g., a mouse click, along tap, a double-tap, etc.), can cause the compose field 416 toautofill the selection, or in certain examples cause the selected iconto be displayed in the communication stream.

The one or more characters 427 in the compose field 416 following theaction command 426 and before a cursor 428 in FIG. 4C include anadditional one or more characters directly following the username of thefirst user (“USER1”), including a space symbol and the character “L”.The set of selectable icons of the selectable icon menu 430 can besorted or updated to include selectable icons having text descriptionsstarting with (or containing) the additional one or more characters (incertain examples, disregarding the space at the beginning of theadditional one or more characters following the username). In certainexamples, the space symbol following the username is not required, butcan be inserted and displayed to aid user comprehension. Accordingly,the selectable icon menu 430 in FIG. 4C is reduced to the selectableicons having text descriptions starting with the letter “L”, including“LIKE” 461, “LOVE” 462, and “LAUGH” 463.

Although illustrated herein as only filtering down, in certain examples,the additional one or more characters can re-populate additionalselectable icons of the plurality of selectable icons matching theadditional one or more characters. In other examples, if no selectableicons having text descriptions starting with or having the additionalone or more characters, the characters in the compose field can bepresented as they have been received, without a selectable icon. Uponreceiving an undo character, such as backspace or a left arrowcharacter, the selectable icon menu 430 can display the previouslydisplayed set of selectable icons (before receiving the additional oneor more characters). In an example, if the additional one or morecharacters includes multiple characters, each undo character can undoone of the multiple characters, starting at the last entered character.

The compose field 416 can include autocomplete characters 429 of thehighlighted selection 445 after the cursor 428, in certain exampleshaving a different font than the one or more characters 427 entered oraccepted by the first user in the compose field 416 until theautocomplete characters 429 are optionally accepted by the first user,such as by a selection character (e.g., a right arrow, a tab character,etc.). Selecting a selectable icon from the selectable icon menu 430,entering all characters of a username from the selectable icon menu 430in the compose field 416 following the action command 426 (e.g., incertain examples followed by a space symbol or selection of a space keyon a keyboard), or entering a selection character to accept displayedautocomplete characters (e.g., a right arrow selection character, a tabcharacter, etc.), can auto fill the compose field 416 with any remainingcharacters of the selected username.

The one or more characters 427 in the compose field 416 following theaction command 426 and before the cursor 428 in FIG. 4D include anadditional one or more characters directly following the username of thefirst user, including a space symbol and the characters “LA”. The set ofselectable icons of the selectable icon menu 430 can be further sortedor updated, now reduced to the selectable icons having text descriptionsstarting with the letters “LA”, including “LAUGH” 463 associated withthe laughing emoji 456. The highlighted selection 445 can change as thelist is sorted or updated, and the autocomplete characters 429 of theremaining characters of the text description of the highlightedselection 445 can optionally be suggested in the compose field 416 afterthe cursor 428. A selection character can be entered to accept theautocomplete characters 429 (e.g., a right arrow selection character, atab character, etc.), and auto fill the compose field 416 with anyremaining characters of the selected icon. Selection of the send button417 or other send action or character can cause a personalized compositeicon 471 including the selected icon to be displayed in thecommunication stream, such as illustrated in FIG. 4E.

In certain examples, the personalized composite icon 471 can begenerated and stored prior to generating the selectable icon menu 430 atFIGS. 4A-4D, and the set of selectable icons can include the generatedpersonalized composite icons. In other examples, individual componentsof the personalized composite icons, including the set of selectableicons, the representation of the first user 447, and text descriptionsassociated with the set of selectable icons can be stored, and thepersonalized composite icons can be created after selection of theselectable icon.

Command-based generation of the selectable icons can save storage spaceand processing power, as the full number of personalized composite iconscan be vast, whereas individual pieces of the personalized compositeicon are already stored at various locations of the system. Moreover,generation after selection allows the system to provide robust andsimple user-specific custom personalization without prior setup, usinginformation typically found in user profiles. In certain examples,instead of distracting the user with a number of composite icons,relatively simple icons can be provided to the first user in theselectable icon menu 430 and the personalized composite icon 471 can begenerated after selection. In other examples, respective personalizedcomposite icons can be generated and provided to the user in theselectable icon menu 430. Frequently selected personalized compositeicons can be stored for efficient use/recall. However, seldom used ornewly added icons can be generated into personalized composite iconsonly as necessary, reducing initialization time and storagerequirements, providing a technical solution to the growing technicalproblem of expanding cost of user customizations.

FIGS. 5A-5G illustrate an example user interface 500 of a communicationplatform of a first user including interaction with a selectabletemplate menu 530 in a user selection mode triggered by entry of anaction command 526 in a compose field 516 followed by one or morecharacters of a username different from the first user, such as a seconduser, and in a template selection mode triggered by selection of thesecond user, different from the first user, in the user selection mode.In contrast to the “@mention” menu 330 of FIGS. 3A-3C, the selectabletemplate menu 530 enables selection of a command-based personalizedcomposite template to be displayed in a communication stream indicatinga desired reaction or activity corresponding to the first and secondusers, without diverting the focus or active cursor of the first useraway from the compose field 416 of the communication platform, and incertain examples without the hands of the first user leaving thekeyboard and without prior custom setup. In an example, an embeddedfunction mode including activation of an embedded function allowing forinteraction by one or both of the first and second users can beactivated by the second user in response to the provided personalizedcomposite template.

The action command 526 can include a symbol, such as a keyboard symbol,including a specific one or more of an at symbol (“@”), an open bracket(“[“), an open parentheses (“(“), a colon symbol (“:”), one or moreother symbols, one or more double symbols (e.g., “@@”, “[[“, “((“, “::”,etc.), or combinations of different symbols. In certain examples, asselectable templates are frequently time sensitive, indicating desiredreactions or activities that are often urgent, a notification of thedisplayed personalized composite template can be provided to the seconduser.

The user interface 500 includes a header portion 502 having a number ofconfigurable fields, including an avatar 503 of the first user, ausername 504 of the first user, a status badge 505, a custom emoji 506of the first user, a status message 507 of the first user, a groupavatar 510 for a group associated with the communication thread, and agroup name 511 of the group. The body portion 515 includes right- andleft-justified messages of a communication thread, the compose field516, and a send button 517. The right-justified messages (e.g., messages520, 521, and 524) include messages of the first user, for example,entered in the compose field 516 and sent upon selection of the sendbutton 517 or other send action or character. The left-justifiedmessages (e.g., messages 522, 523, and 525) include messages of one ormore users separate from the first user. The compose field 516optionally includes an emoji field 518, selection of which requires userinput and selection away from the compose field 516, and launches aseparate emoji menu, diverting focus of the first user and the activecursor away from the compose field 516.

In the user selection mode, the selectable template menu 530 includes aset of one or more users for selection, illustrated in FIG. 5A asavatars 547-553 and respective usernames (“USER1”-“USER7”) 561-567. Theset of one or more users can be selected from a plurality of usersavailable to the first user according to, among other things, theusernames matching one or more characters 527 from the compose field 516following the action command 526, such as between the action command 526and a cursor 528. The avatars 547-553 can include selected avatars orprofile pictures representative of or associated with the respective oneor more users. The plurality of users available to the first user caninclude one or more users of or associated with the group or otherwiseavailable to the first user in the communication stream, including thefirst user. In an example, selection or entry of the first user in thecompose field 516 can trigger entry to the personal reaction modedescribed in FIGS. 4A-4E. In an example, if the one or more characters527 from the compose field 516 between the action command 526 and thecursor 528 include the text character “S”, the set of one or more userscan include users available to the first user having respectiveusernames starting with the text character “S” at some major portion,including a first letter of a first name or a last name associated withthe username, a first character of the username, a first character of anemail address associated with the username, etc.

The selectable template menu 530 can include a highlighted selection545, initially (without additional user input) a default selection, ahighest rated selection, a most-recent selection, or a closest match tothe one or more characters 527 from the compose field 516 following (ordirectly succeeding) the action command 526. The highlighted selection545 can change upon input by the first user, such as by a filter or sortassociated with additionally received one or more characters in thecompose field 516, selection characters (e.g., an up arrow, a downarrow, etc.), or selection of a username or movement of a user inputover the selectable template menu 530.

The compose field 516 can include autocomplete characters 529 of thehighlighted selection 545 after the cursor 528, in certain exampleshaving a different font than the one or more characters 527 entered bythe first user in the compose field 516 until the autocompletecharacters 529 are optionally accepted by the first user, such as by aselection character (e.g., a right arrow, a tab character, etc.).Selecting a user from the selectable template menu 530, entering allcharacters of a username of the selectable template menu 530 in thecompose field 516 following action command 526, or entering a selectioncharacter to select the highlighted selection 545 or autocompletecharacters 529 (e.g., a right arrow selection character, a tabcharacter, etc.) can automatically fill the compose field 516 with theusername of the selected user or a representation of the selected user,such as illustrated in FIG. 5B.

Selection of a second user, different from the first user, in the userselection mode triggers entry to the template selection mode. In thetemplate selection mode, the selectable template menu 530 expands toinclude a set of selectable templates, illustrated in FIG. 5C asselectable templates 572-577 and respective text descriptions 578-583.In certain examples, the set of selectable templates can be combined anddisplayed with a representation of the first user 547, such as an avataror a profile picture of the first user, or a representations of thesecond user 548, such as an avatar or a profile picture of the seconduser. In other examples, the representations of the first and secondusers 547, 548 can be omitted from the selectable template menu 530.

The selectable templates can include a number of different templatesindicating a desired reaction or activity corresponding to the first andsecond users, in certain examples, including emojis or other imagesconfigured to convey an emotion or a reaction. The set of selectabletemplates selected for display or provided in the selectable templatemenu 530 can be filtered from a larger plurality of selectabletemplates. The selectable templates 572-577 illustrated in FIG. 5C caninclude an initial or default set of selectable templates, correspondingto those most used by the group, by the first user, by users of thecommunication stream, etc. The set of selectable templates in theselectable template menu 530 can be further narrowed or sorted by userpreference or entry of additional characters (e.g., according to textdescriptions of the respective selectable templates matching one or moreadditional characters from the compose field 516 following the usernameof the second user, etc.).

The selectable templates 572-577 in FIG. 5C include a first gametemplate (G1) 572, a second game template (G2) 573, a first applicationtemplate (A1) 574, a second application template (A2) 575, a first eventtemplate (E1) 576, and a second event template (E2) 577, each havingassociated respective text descriptions 578-583. In other examples, theset of selectable templates can include one or more other templates,including more, less, or different selectable templates than illustratedin FIG. 5C.

The selectable template menu 530 can include a highlighted selection545, initially (without additional user input) a default selection, ahighest rated selection, a most-recent selection, or a closest match toan additional one or more characters in the compose field 516 followingthe username of the second user. The highlighted selection 545 canchange upon input by the first user, such as by a filter or sortassociated with an additional one or more characters in the composefield 516, selection characters (e.g., an up arrow, a down arrow, etc.),or selection of a selectable icon or movement of a user input over theselectable template menu 530. Selection of a selectable icon, such as bythe user input (e.g., a mouse click, a long tap, a double-tap, etc.),can cause the compose field 516 to autofill the selection, or in certainexamples cause the selected icon to be displayed in the communicationstream.

In FIG. 5C, the highlighted selection 545 includes only therepresentation of the second user 548 and respective username (“USER2”).Selection of the highlighted selection 545 in FIG. 5C would trigger exitof the template selection mode and entry of an “@mention” actiondescribed in FIGS. 3A-3C with respect to the selected, second user.

The one or more characters 527 in the compose field 516 following theaction command 526 and before the cursor 528 in FIG. 5D include anadditional one or more characters directly following the username of thesecond user (“USER2”), including a space symbol and the characters “AP”.The set of selectable templates of the selectable template menu 530 canbe sorted or updated to include selectable templates having textdescriptions starting with (or containing) the additional one or morecharacters (in certain examples, disregarding the space at the beginningof the additional one or more characters following the username). Incertain examples, the space symbol following the username is notrequired, but can be inserted and displayed to aid user comprehension.Accordingly, the selectable template menu 530 in FIG. 5D is reduced tothe selectable templates having text descriptions starting with theletters “AP”, including “APP1” 580 and “APP2” 581.

Although illustrated herein as only filtering down, in certain examples,the additional one or more characters can re-populate additionalselectable templates of the plurality of selectable templates matchingthe additional one or more characters. In other examples, if noselectable templates having text descriptions starting with or havingthe additional one or more characters, the characters in the composefield can be presented as they have been received, without a selectabletemplate. Upon receiving an undo character, such as backspace or a leftarrow character, the selectable template menu 530 can display thepreviously displayed set of selectable templates (before receiving theadditional one or more characters). In an example, if the additional oneor more characters includes multiple characters, each undo character canundo one of the multiple characters, starting at the last enteredcharacter.

The one or more characters 527 in the compose field 516 following theaction command 526 and before the cursor 528 in FIG. 5E include anadditional one or more characters directly following the username of thesecond user (“USER2”), including a space symbol and the characters“APP1”. The set of selectable templates of the selectable template menu530 can be further sorted or updated, now reduced to the selectabletemplate A1 574 having the text description “APP1” 580. Selection of thesend button 517 or other send action or character can cause apersonalized composite template 585 including the selected template tobe displayed in the communication stream, such as illustrated in FIG.5F.

In an example, the personalized composite template 585 can include anembedded control, selectable or invocable by the second user from thecommunication stream, such as by click, selection, or tap of thepersonalized composite template 585 on a user device, an affirmativevoice input (e.g., “yes”, “sure”, etc.), an affirmative gesture input(e.g., “shaking head yes”), or an affirmative text input (e.g., “yes”,“sure”, “I’m game”, etc.) by the second user, receivable by thecommunication platform or detectable by one or more other voice,accelerometer, or image analysis. For example, selection of thepersonalized composite template 585, such as by user input, can activatethe embedded function. In other examples, selection of the personalizedcomposite template 585 can trigger a confirmation of activation. Inother examples, a text response by the second user (e.g., within severalresponsive messages or within a time period following display of thepersonalized composite template 585 in the communication stream) can beanalyzed as an affirmative or negative response, such as contextualanalysis of the text response subsequent to display of the personalizedcomposite template 585, optionally requesting direct yes/no confirmationbefore activation.

An embedded function mode can be triggered by receipt of an affirmativeresponse, selection, or invocation of the embedded control by the seconduser. In other examples, an affirmative response can include a returninvocation of the same or similar personalized composite template by thesecond user. In other examples, the second user can interact with thepersonalized composite template 585. In other examples, display of thepersonalized composite template 585 in the communication stream canpre-activate the embedded function for interaction with or by the seconduser.

An embedded function can be activated, such as a first application(APP1) 587 associated with the personalized composite template 585 andillustrated in FIG. 5G. In this example, the embedded function comprisesan application, such as a scheduling application to schedule an activitybetween the first and second users indicated by the personalizedcomposite template 585, a voice or video communication application toestablish a voice or video communication session between the first userand the second user, a collaborative work application to send, receive,or collaboratively view or edit a file or document with the first andsecond users, or one or more other applications. In other examples, theembedded function can include an interactive game between the first andsecond users, an event between the first and second users, such aslunch, dinner, or another digital- or real-world activity, etc.

In certain examples, the personalized composite template 585 can begenerated and stored prior to generating the selectable template menu530 at FIGS. 5A-5E, and the set of selectable templates can include thegenerated personalized composite templates. In other examples,individual components of the personalized composite templates, includingthe set of selectable templates, the representation of the first user547, the representation of the second user 548, and text descriptionsassociated with the set of selectable templates can be stored, and thepersonalized composite templates can be created after selection of theselectable template.

Command-based generation of the selectable templates can save storagespace and processing power, as the full number of personalized compositetemplates can be vast, whereas individual pieces of the personalizedcomposite templates are typically already stored at various locations ofthe system. Moreover, generation after selection allows the system toprovide robust and simple user-specific custom personalization withoutprior setup, using information typically found in user profiles. Incertain examples, instead of distracting the user with a number ofcomposite templates, relatively simple templates can be provided to thefirst user in the selectable template menu 530 and the personalizedcomposite template 585 can be generated after selection. In otherexamples, respective personalized composite templates can be generatedand provided to the user in the selectable template menu 530. Frequentlyselected personalized composite templates can be stored for efficientuse/recall. However, seldom used or newly added templates can begenerated into personalized composite templates only as necessary,reducing initialization time and storage requirements, providing atechnical solution to the growing technical problem of expanding cost ofuser customizations.

FIGS. 6-7 illustrate example personalized composite icons and templates,such as a personalized composite icon 471 illustrated in FIG. 4E or apersonalized composite template 585 illustrated in FIG. 5F, including acombination of one or more selected icons or templates with arepresentation of the first user or the first and second users, such asfor presentation to the first user for selection or for display in acommunication stream.

The personalized composite icon 471 includes a representation of a firstuser 447 combined with a selectable icon, such as a laughing emoji 456or one or more other selectable icons for display in a communicationstream. The personalized composite template 585 includes arepresentation of first and second users 547, 548 and one or more of aselectable template, such as a first application template 574 (e.g.,scheduling application, such as a shared calendar application, etc.), anevent template 576 (e.g., meeting for food, such as pizza, etc.,planning a vacation, or other in-person or online meeting, etc.), a gametemplate 572 (e.g., joining an online game, etc.), or one or more otherapplication, event, game, or combination thereof.

In certain examples, to create the personalized composite icons ortemplates, a selected icon or template can at least partially overlapone or both of a first or second user to create the look and feel of apersonalized composite icon from a number of separate objects (e.g.,emojis and avatars, etc.). In other examples, the size of the objectscan be adjusted, as well as one or more other features, such as theopacity, color, or one or more other aspects, to enhance the look andfeel of the composite icons.

In certain examples, the first user can have multiple profile picturesdefined for different channels, sub-groups, groups, or even individualusers, such that a single command-based input can provide differentcomposite icons to different users or in different communicationthreads. In certain examples, in communication streams having more thantwo users (e.g., three or more, including the first user), a singlecommand-based entry by the first user, such as described herein, canprovide different composite icons or templates to be displayed in thecommunication stream for each of the different users. For example, thefirst user can have separate personal and work avatars, and thepersonalized composite icons or templates can include different avatarsdepending on whether the second user is a personal or work contact. In asingle thread having personal and work users, the system can providerespective personalized icons or templates to respective intended users.

FIG. 8 illustrates an example method 800 for providing command-basedpersonalized composite icons in a communication stream. In variousexamples, one or more of the method steps discussed herein can beimplemented by a communication platform, an application on a clientdevice, a server-side application accessible by the client devicethrough a network, or combinations thereof.

At 801, an action command can be detected in a compose field of acommunication platform of a first user. The action command can include afirst symbol, such as at least one of an at symbol (“@”), an openbracket symbol (“[“), an open parentheses (“(“), or a colon symbol(“:”), or combinations of multiple symbols, including two of the samesymbols (e.g., “@@”, “::”, etc.). The action command can indicate afunction to be performed by the system, such as activation of one ormore modes, etc.

At 802, characters succeeding the action command in the compose field ofthe communication platform can be analyzed. In an example, responsive todetecting the action command in the compose field, entries can be parsedfrom the compose field subsequent to the action command to identify oneor more characters succeeding the action command. In an example,succeeding the action command can include immediately succeeding theaction command, such as sequential characters entered in the composefield by a first user, in certain examples, without interveningcharacters.

If, at 803, the identified one or more characters do not match a firstone or more characters of a name of the user (e.g., a username, a firstname, a last name, an email address, or one or more other names of thefirst user) in the communication stream, analysis of the characters inthe compose field can continue at 802. If, at 803, the identified one ormore characters match the first one or more characters of the usernameof the first user, then a personal reaction mode can be entered at 804,allowing for selection of a personalized composite icon to be displayedin the communication stream.

At 805, a set of selectable icons can be provided to the first userbased upon one or more rules in the personal reaction mode. Theselectable icons can indicate a desired reaction of the first user. Thepersonal reaction mode can include one or more rules defining priorityor determination of the set of selectable icons. In certain examples, arespective selectable personalized composite icon can be composed foreach of the set of selectable icons as a combination of a representationof the first user and the respective selectable icon as a set ofselectable personalized composite icons in a look-up box proximate thecompose field.

At 806, responsive to providing the set of selectable icons at 805, userinput can be received and analyzed, such as to aid in selection of oneof the set of selectable icons, filtering, reordering, etc. In certainexamples, the user input can include one or more selection characters,transition characters, undo characters, one or more additionalcharacters in the compose field, etc.

If, at 807, the analyzed user input is not indicative of a userselection of one of the set of selectable icons, analysis of user inputcan continue at 806. If, at 807, the analyzed user input is indicativeof a user selection of one of the set of selectable icons, apersonalized composite icon comprising a representation of the firstuser combined with the selected icon to be displayed in thecommunication stream at 808. In certain examples, the personalizedcomposite icon can be composed prior to selection of the selectable iconby the user. In other examples, the personalized composite icon can becomposed after selection of the selectable icon by the user.

In certain examples, the set of selectable icons can include a firstnumber of a greater plurality of icons. Each of the greater plurality oficons can include a score. The one or more rules in the personalreaction mode can include a sorted list rule defining priority anddetermination of the set of selectable icons according to the receivedone or more additional characters. Adjusting the set of selectable iconsaccording to the received one or more additional characters can includeadjusting the set of selectable icons according to the sorted list rule,first reducing the greater plurality of icons according to the receivedone or more additional characters matching a first one or morecharacters of a description of the respective greater plurality oficons, and then based upon respective scores for each of the respectivegreater plurality of icons.

In other examples, the one or more rules in the personal reaction modecan define adjustment or determination of scores of at least one of thegreater plurality of icons. For example, providing the set of selectableicons to the first user can include determining a priority for each ofthe greater plurality of icons of the first user based upon respectivescores of the each of the icons. The set of selectable icons for thefirst user can be determined based on the determined priorities.

The one or more rules in the personal reaction mode can further includeat least one of: a default rule of basic icons defining a first defaultscore for a first subset of basic icons higher than default scores forthe remaining greater plurality of icons; a user profile rule defining asecond default score for a second subset of icons selected by the firstuser higher than the first default score, wherein individual icons ofthe second subset are the same or different than individual icons of thefirst subset; a first user reaction history rule defining a selectionhistory of selected icons of the first user, wherein the score ofrespective icons of the plurality of icons increases with each selectionof the respective icons; or a semantic analysis rule defining a semanticscore for specific icons associated with words or icons of the firstuser or other users in the communication stream. Data for the scores andcalculation of such can be determined and stored, such as by thecommunication platform, an application on the client device, aserver-side application accessible by the client device through anetwork, or combinations thereof.

FIG. 9 illustrates an example method 900 for causing a notification tobe displayed to a selected user in a communication stream. In variousexamples, one or more of the method steps discussed herein can beimplemented by a communication platform, an application on a clientdevice, a server-side application accessible by the client devicethrough a network, or combinations thereof.

At 906, responsive to providing the set of selectable icons to the firstuser, one or more additional characters can be received from the composefield and analyzed to determine if the received one or more additionalcharacters comprise a transition character comprising one of abackspace, left arrow, space, escape, or delete symbol. If, at 907, thereceived one or more additional characters does not include a transitioncharacter, analysis of the user input can continue at 906. If, at 907,the received one or more additional characters includes a transitioncharacter, the personal reaction mode can transition to a secondresponse mode at 908. In certain examples, transition of modes canchange how user input is analyzed, the rules used to sort or provideselectable menus to the first user, etc. Transition of modes can changedevice operation.

At 909, the identified one or more characters from the compose field canbe analyzed to determine if the identified one or more characters matcha first one or more characters of a username of one or more usersdifferent from the first user. If, at 910, the identified one or morecharacters do not match the first one or more characters of the usernameof the one or more users, analysis of the user input can continue at909. If, at 910, the identified one or more characters match the firstone or more characters of the username of the one or more users, a setof identified users can be provided to the first user at 911.

At 912, responsive to providing the set of the identified one or moreusers to the first user, user input can be received and analyzed. If, at913, the user input does not indicate a selection, analysis of the userinput can continue at 908. If, at 913, the user input does indicate thatthe first user has made a selection, such as by receiving one or moreselection characters, etc., then a notification can be displayed to theselected user at 914.

FIG. 10 illustrates an example method 1000 for providing command-basedpersonalized composite templates in a communication stream. In variousexamples, one or more of the method steps discussed herein can beimplemented by a communication platform, an application on a clientdevice, a server-side application accessible by the client devicethrough a network, or combinations thereof.

At 1001, an action command can be detected in a compose field of acommunication platform of a first user. The action command can include afirst symbol, such as at least one of an at symbol (“@”), an openbracket symbol (“[“), an open parentheses (“(“), or a colon symbol(“:”), or combinations of multiple symbols, including two of the samesymbols (e.g., “@@”, “::”, etc.). The action command can indicate afunction to be performed by the system, such as activation of one ormore modes, etc.

At 1002, one or more characters succeeding the action command in thecompose field of the communication platform can be analyzed. In anexample, responsive to detecting the action command in the composefield, entries can be parsed from the compose field subsequent to theaction command to identify one or more characters succeeding the actioncommand. In an example, succeeding the action command can includeimmediately succeeding the action command, such as sequential charactersentered in the compose field by a first user, in certain examples,without intervening characters.

If, at 1003, the identified one or more characters from the composefield do not match a first one or more characters of a username of thefirst user in the communication stream, analysis of the one or morecharacters in the compose field can continue at 1002. If, at 1003, theidentified one or more characters from the compose field match the firstone or more characters of the username of the first user in thecommunication stream, then the one or more users having usernames havingthe first one or more characters matching the identified one or morecharacters can be identified and a user selection mode can be entered at1004, allowing for selection of a user to provide a personalizedcomposite template in the communication stream.

At 1005, a set of the identified one or more users to the first user canbe provided to the first user, such as based upon one or more rules inthe user selection mode, the one or more rules defining priority orselection of the set of the identified one or more users.

At 1006, responsive to providing the set of the identified one or moreusers to the first user, user input can be received and analyzed, suchas to aid in selection of one of the set of the identified one or moreusers as a second user.

If, at 1007, the analyzed user input is not indicative of a userselection of one of the set of users, analysis of user input cancontinue at 1006. If, at 1007, the analyzed user input is indicative ofa user selection of one of the set of users, a template selection modecan be entered at 1008, allowing for selection of a personalizedcomposite template to be displayed in the communication stream.

At 1009, a set of selectable templates can be provided to the firstuser, such as based upon one or more rules in the template selectionmode. The selectable templates can indicate a desired reaction oractivity corresponding to the first and second users. The one or morerules can define priority or determination of the set of selectabletemplates.

At 1010, responsive to providing the set of selectable templates, userinput can be received, such as from the first user. If, at 1011, theanalyzed user input is not indicative of a selection of one of the setof selectable templates, analysis of user input can continue at 1010.If, at 1011, the analyzed user input is indicative of the selection ofone of the set of selectable templates as a selected template of thefirst user, a personalized composite template comprising representationsof the first and second users combined with a representation of theselected template can be displayed in the communication stream at 1012.

In an example, one or more rules in the template selection mode defineadjustment or determination of scores of at least one of the greaterplurality of templates, the one or more rules in the user selection modecomprising: a sorted list rule defining priority and determination ofthe set of selectable templates from a greater plurality of templatesaccording to the received one or more additional characters; and a firstuser templates history rule defining a selection history of selectedtemplates of the first user, wherein the score of respective templatesof the plurality of templates increases with each selection of therespective template. In certain examples, providing the set of theidentified one or more users to the first user can include adjusting theset of selectable templates according to the received one or moreadditional characters according to the sorted list rule, first reducingthe greater plurality of templates according to the received one or moreadditional characters matching one or more characters of a descriptionof the respective greater plurality of templates, and then based uponrespective scores for each of the respective greater plurality oftemplates. Receiving the selected one of the set of the identified oneor more users as the second user can include receiving additionalcharacters to complete the username of one of the set of the identifiedone or more users.

In an example, the set of selectable templates can include a firstnumber of a greater plurality of templates, wherein each of the greaterplurality of templates comprises a score. The one or more rules in thetemplate selection mode can define adjustment or determination of scoresof at least one of the greater plurality of templates. In an example,providing the set of selectable templates to the first user can includedetermining a priority for each of the greater plurality of templates ofthe first or second user based upon respective scores of the each of thetemplates and determining the set of selectable templates to the firstuser based on the determined priorities. In certain examples, the one ormore rules in the template selection mode can include at least one of: adefault rule of basic templates defining a first default score for afirst subset of basic templates higher than default scores for theremaining greater plurality of templates; a user profile rule defining asecond default score for a second subset of templates selected by thefirst user higher than the first default score, wherein individualtemplates of the second subset are the same or different than individualtemplates of the first subset; a first user templates history ruledefining a selection history of selected templates of the first user,wherein the score of respective templates of the plurality of templatesincreases with each selection of the respective template; or a semanticanalysis rule defining a semantic score for specific templatesassociated with words or templates of the first user or other users inthe communication stream. In other examples, one or more other rules canbe implemented.

FIG. 11 illustrates an example method 1100 for providing command-basedpersonalized composite templates in a communication stream and causingan embedded function between first and second users to be activated inresponse to the provided command-based personalized composite template.In various examples, one or more of the method steps discussed hereincan be implemented by a communication platform, an application on aclient device, a server-side application accessible by the client devicethrough a network, or combinations thereof.

At 1101, responsive to causing a personalized composite template to bedisplayed in the communication stream, a response from a second user canbe received and analyzed. In certain examples, the personalizedcomposite template can include an embedded control, selectable orinvocable by the second user. The embedded control can be associatedwith the desired reaction or activity indicated by the selectedtemplate.

If, at 1102, the response is not positive, analysis can continue at1101. If, at 1102, the response is positive, an embedded function modecan be entered at 1103. At 1104, an embedded function between the firstand second users can be activated. In an example, activating an embeddedfunction between the first and second users can include one or more ofactivating an interactive game between the first and second users at1105, activating a scheduling application at 1106, for example, toschedule an activity indicated by the selected template between thefirst and second users, a voice and/or video communication application1107 (“to establish a voice or video communication session between thefirst user and the second user different from the displayed personalizedcomposite template between the first and second users”), a collaborativework application at 1108 to send, receive, or collaboratively view oredit a file or document, etc.

FIG. 12 illustrates an example system 1200 including a client device1202 (e.g., a computing device) having at least one processor 1208, atransceiver 1210, one or more presentation components 1212, one or moreinput/output (I/O) ports 1214, and a memory 1226. The client device 1202can take the form of a mobile computing device or any other portabledevice, such as a mobile telephone, laptop, tablet, computing pad,notebook, gaming device, portable media player, etc. In other examples,the client device 1202 can include a less portable device, such asdesktop personal computer, kiosk, tabletop device, industrial controldevice, etc. Other examples can incorporate the client device 1202 aspart of a multi-device system in which two separate physical devicesshare or otherwise provide access to the illustrated components of theclient device 1202.

The processor 1208 can include any quantity of processing units and isprogrammed to execute computer-executable instructions for implementingaspects of the disclosure. The instructions may be performed by theprocessor or by multiple processors within the computing device orperformed by a processor external to the client device 1202. In someexamples, the processor 1208 is programmed to execute methods, such asthe one or more method illustrated herein at FIGS. 8-11 , etc.Additionally, or alternatively, the processor 1208 can be programmed topresent an experience in a user interface (“UI”), such as the userinterfaces illustrated in FIG. 2-5G, etc. In certain examples, theprocessor 1208 can represent an implementation of techniques to performthe operations described herein.

The transceiver 1210 can include an antenna capable of transmitting andreceiving radio frequency (“RF”) signals and various antenna andcorresponding chipsets to provide communicative capabilities between theclient device 1202 and one or more other remote devices. Examples arenot limited to RF signaling, however, as various other communicationmodalities may alternatively be used.

The presentation components 1212 can include, without limitation,computer monitors, televisions, projectors, touch screens, phonedisplays, tablet displays, wearable device screens, televisions,speakers, vibrating devices, and any other devices configured todisplay, verbally communicate, or otherwise indicate image searchresults to a user 1204 or provide information visibly or audibly on theclient device 1202. For example, the client device 1202 can include asmart phone or a mobile tablet including speakers capable of playingaudible search results to the user 1204. In other examples, the clientdevice 1202 can include a computer in a car that audibly presents searchresponses through a car speaker system, visually presents searchresponses on display screens in the car (e.g., situated in the car’sdashboard, within headrests, on a drop-down screen, etc.), orcombinations thereof. Other examples present the disclosed searchresponses through various other display or audio presentation components1212.

I/O ports 1214 allow the client device 1202 to be logically coupled toother devices and I/O components 1216, some of which may be built intoclient device 1202 while others may be external.

I/O components 1216 can include a microphone 1218, one or more sensors1220, a camera 1222, and a touch device 1224. The microphone 1218 cancapture speech from the user 1204 and/or speech of or by the user 1204.The sensors 1220 can include any number of sensors on or in a mobilecomputing device, electronic toy, gaming console, wearable device,television, vehicle, or other client device 1202, such as one or more ofan accelerometer, magnetometer, pressure sensor, photometer,thermometer, global positioning system (“GPS”) chip or circuitry, barscanner, biometric scanner for scanning fingerprint, palm print, blood,eye, or the like, gyroscope, near-field communication (“NFC”) receiver,or any other sensor configured to capture data from the user 1204 or theenvironment. The camera 1222 can capture images or video of or by theuser 1204. The touch device 1224 can include a touchpad, track pad,touch screen, or other touch-capturing device. In other examples, theI/O components 1216 can include one or more of a sound card, a vibratingdevice, a scanner, a printer, a wireless communication module, or anyother component for capturing information related to the user 1204 orthe environment.

The memory 1226 can include any quantity of memory associated with oraccessible by the client device 1202. The memory 1226 can be internal tothe client device 1202, external to the client device 1202, or acombination thereof. The memory 1226 can include, without limitation,random access memory (RAM), read only memory (ROM), electronicallyerasable programmable read only memory (EEPROM), flash memory or othermemory technologies, CDROM, digital versatile disks (DVDs) or otheroptical or holographic media, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, memory wiredinto an analog computing device, or any other medium for encodingdesired information and for access by the client device 1202. The termscomputer-readable medium, machine readable medium, and storage device donot include carrier waves to the extent carrier waves are deemed tootransitory. The memory 1226 can take the form of volatile and/ornonvolatile memory, can be removable, non-removable, or a combinationthereof; and can include various hardware devices, e.g., solid-statememory, hard drives, optical-disc drives, etc. Additionally, oralternatively, the memory 1226 can be distributed across multiple clientdevices 1202, such as in a virtualized environment in which instructionprocessing is carried out on multiple ones of the client device 1202.The memory 1226 can store, among other data, various device applicationsthat, when executed by the processor 1208, operate to performfunctionality on the client device 1202. Example applications caninclude search applications, instant messaging applications,electronic-mail application programs, web browsers, calendar applicationprograms, address book application programs, messaging programs, mediaapplications, location-based services, search programs, and the like.The applications may communicate with counterpart applications orservices such as web services accessible via the network 1206. Forexample, the applications can include client-operating applications thatcorrespond to server-side applications executing on remote servers orcomputing devices in the cloud.

Instructions stored in the memory 1226 can include, among other things,one or more of a communication interface application 1228, a userinterface application 1230, and a generation application 1232. Thecommunication interface application 1228 can include one or more ofcomputer-executable instructions for operating a network interface cardand a driver for operating the network interface card. Communicationbetween the client device 1202 and other devices can occur using anyprotocol or mechanism over a wired or wireless connection or across thenetwork 1206. In some examples, the communication interface application1228 is operable with RF and short-range communication technologiesusing electronic tags, such as NFC tags, Bluetooth® brand tags, etc.

In some examples, the user interface application 1230 includes agraphics application for displaying data to the user and receiving datafrom the user. The user interface application 1230 can includecomputer-executable instructions for operating the graphics card todisplay search results and corresponding images or speech on or throughthe presentation components 1212. The user interface application 1230can interact with the various sensors 1220 and camera 1222 to bothcapture and present information through the presentation components1212.

FIG. 13 illustrates an example networking environment 1300 including oneor more client devices 1302, a communication engine server 1308, and anicon/template database 1332 communicating over a network 1306. In someexamples, user and environment data are communicated by the clientdevices 1302 over the network 1306 to the communication engine server1308. In certain examples, the communication engine server 1308 canprovide or facilitate generation of personalized composite icons ortemplates for users of the one or more client device 1302 and managecommunication streams among different groups of users.

The networking environment 1300 illustrated in FIG. 13 is an example ofone suitable computing system environment and is not intended to suggestany limitation as to the scope of use or functionality of examplesdisclosed herein. The illustrated networking environment 1300 should notbe interpreted as having any dependency or requirement related to anysingle component, module, index, or combination thereof, and in otherexamples, other network environments are contemplated.

The network 1306 can include the internet, a private network, a localarea network (LAN), a wide area network (WAN), or any other computernetwork, including various network interfaces, adapters, modems, andother networking devices for communicatively connecting the clientdevices 1302 and the communication engine server 1308. The network 1306can also include configurations for point-to-point connections.

The client device 1302 include any type of client device discussedherein. Each client device 1302 can capture user or environment datafrom their respective users and communicate the captured user andenvironment data over the network 1306 to the communication engineserver 1308, such as using a communications interface application asdiscussed herein. In response, the communication engine server 1308 canbe capable of providing and receiving messages including images, videos,audio, text, and other various communication media to and from clientdevice 1302 over the network 1306.

The client device 1302 can include various software applications andpresentation components for communicating via a communication platformmodule 1312 for combining subsequent data in a communication stream. Forexample, a mobile phone can display a communication platform (e.g.,Microsoft Teams application) for communicating with friends or otherusers in a group. The communication platform can include a feature thatprovides command-based generation, selection, and display ofpersonalized composite icons or templates in a communication stream. Anynumber of different variations of client devices 1302 and presentationtechniques can be used to procure and integrate devices.

The communication engine server 1308 represents a server or collectionof servers configured to execute different web-servicecomputer-executable instructions. The communication engine server 1308includes a processor 1304 to process executable instructions, atransceiver 1310 to communicate over the network 1306, and a memory 1314embodied with at least the following executable instructions: acommunication platform module 1312, a reaction module 1316, a matchingmodule 1320, or one or more other modules, such as a triggering module,an audio module, etc. The memory 1314 can include instructions for arepository module 1328 and a delivery module 1330. While thecommunication engine server 1308 is illustrated as a single box, it isnot so limited, and can be scalable. For example, the communicationengine server 1308 can include multiple servers operating variousportions of software that collectively generate composite icons ortemplates for users of the one or more client devices 1302.

The icon/template database 1332 can provide backend storage of Web,user, and environment data that can be accessed over the network 1306 bythe communication engine server 1308 or the client device 1302 and usedby the communication engine server 1308 to combine subsequent data in acommunication stream. The Web, user, and environment data stored in thedatabase includes, for example but without limitation, one or more userprofiles 1318 and an image module 1322. The image module 1322 caninclude historical logs of active, inactive, and pending devices alongwith faulty devices, devices out for repair, and other informationrelated to devices within the network and/or organization associatedwith a user. Additionally, though not shown for the sake of clarity, theservers of the icon/template database 1332 can include their ownprocessors, transceivers, and memory. Also, networking environment 1300depicts the icon/template database 1332 as a collection of separatedevices from the communication engine server 1308 however, examples canactually store the discussed Web, user, and environment data shown inthe icon/template database 1332 on the communication engine server 1308.

Herein, a “user profile” refers to an electronically stored collectionof information related to the user. Such information can be stored basedon a user’s explicit agreement or “opt-in” to having such personalinformation be stored, the information including the user’s name, age,gender, height, weight, demographics, current location, residency,citizenship, family, friends, schooling, occupation, hobbies, skills,interests, Web searches, health information, birthday, anniversary,celebrated holidays, moods, user’s condition, and any other personalizedinformation associated with the user. The user profile includes staticprofile elements, e.g., name, birthplace, etc., and dynamic profileelements that change over time, e.g., residency, age, condition, etc.The user profile can be built through probing questions to the user orthrough analyzing the user’s behavior on one or more client devices.

Additionally, user profiles 1318 can include static and/or dynamic dataparameters for individual users. Examples of user profile data include,without limitation, a user’s age, gender, race, name, location,interests, Web search history, social media connections andinteractions, purchase history, routine behavior, jobs, or virtually anyunique data points specific to the user. The user profiles 1318 can beexpanded to encompass various other aspects of the user.

The present disclosure relates to systems and methods for providing acommand-based personalized composite template in a communication streamaccording to at least the examples provided in the sections below:

(A1) In one aspect, some embodiments or examples include a systemincluding one or more processors and a memory storingcomputer-executable instructions that, when executed, cause the one ormore processors to control the system to perform the followingoperations that cause a personalized composite template comprisingrepresentations of first and second users combined with a representationof a selected template to be displayed in the communication stream. Theoperations include detecting an action command in a compose field of acommunication platform of a first user, wherein the action commandindicates a function to be performed by the system; responsive todetecting the action command in the compose field, parsing entries fromthe compose field subsequent to the action command to identify one ormore characters succeeding the action command, and analyzing theidentified one or more characters from the compose field to determine ifthe identified one or more characters match a first one or morecharacters of a username of one or more users different from the firstuser.

Responsive to determining that the identified one or more charactersmatch the first one or more characters of the username of one or moreusers, the operations include identifying the one or more users havingusernames having the first one or more characters matching theidentified one or more characters and entering a user selection modeallowing for selection of one of the identified one or more users,comprising providing. based upon one or more rules in the user selectionmode, a set of the identified one or more users to the first user, theone or more rules defining priority or selection of the set of theidentified one or more users. Responsive to providing the set of theidentified one or more users to the first user, the operations includereceiving a selected one of the set of the identified one or more usersas a second user.

Responsive to receiving the selected second user, the operations includeentering a template selection mode allowing for selection of apersonalized composite template to be displayed in the communicationstream, the personalized composite template indicating a desiredreaction or activity corresponding to the first and second users,comprising providing, based upon one or more rules in the templateselection mode, a set of selectable templates to the first user, theselectable templates indicating the desired reaction or activitycorresponding to the first and second users, the one or more rulesdefining priority or determination of the set of selectable templates.Responsive to providing the set of selectable templates, the operationsinclude receiving a selected one of the set of selectable templates as aselected template from the first user and causing a personalizedcomposite template comprising representations of the first and secondusers combined with a representation of the selected template to bedisplayed in the communication stream.

(A2) In some embodiments of A1, the personalized composite templatecomprises an embedded control, selectable or invocable by the seconduser, the embedded control associated with the desired reaction oractivity indicated by the selected template. Further in some embodimentsof A1, the operations comprise: responsive to causing the personalizedcomposite template to be displayed in the communication stream,receiving an affirmative response from the second user includingselection or invocation of the embedded control; and responsive toreceiving the affirmative response, entering an embedded function modeby causing the system to activate the embedded function and allowing forinteraction by one or both of the first and second users with theembedded function associated with the desired reaction or activityindicated by the selected template.

(A3) In some embodiments of A1-A2, receiving the affirmative responsecomprises receiving one or more of: a click, selection, or tap on thepersonalized composite template, an affirmative voice or gesture input,a return selection of the same or similar personalized compositetemplate of the second user in the communication stream, or anaffirmative text response.

(A4) In some embodiments of A1-A3, the embedded function comprises oneor more of: an interactive game between the first and second users; ascheduling application to schedule an activity indicated by the selectedtemplate between the first and second users; a voice or videocommunication application to establish a voice or video communicationsession between the first user and the second user different from thedisplayed personalized composite template between the first and secondusers; or a collaborative work application to send, receive, orcollaboratively view or edit a file or document.

(A5) In some embodiments of A1-A4, providing the set of selectabletemplates to the first user comprises: composing, for each of the set ofselectable templates, a respective selectable personalized compositetemplate as a combination of the representation of the first user, therepresentation of the second user, and the respective representation ofthe selected template in a look-up box proximate the compose field.

(A6) In some embodiments of A1-A5, the operations comprise: composingthe personalized composite template as a combination of therepresentation of the first user, the representation of the second user,and the representation of the selected template.

(A5) In some embodiments of A1-A6, the operations comprise: responsiveto providing the set of the identified one or more users to the firstuser, receiving one or more additional characters from the composefield, wherein the one or more rules in the template selection modedefine adjustment or determination of scores of at least one of thegreater plurality of templates, the one or more rules in the userselection mode comprising: a sorted list rule defining priority anddetermination of the set of selectable templates from a greaterplurality of templates according to the received one or more additionalcharacters; and a first user templates history rule defining a selectionhistory of selected templates of the first user, wherein the score ofrespective templates of the plurality of templates increases with eachselection of the respective template, wherein providing the set of theidentified one or more users to the first user comprises adjusting theset of selectable templates according to the received one or moreadditional characters according to the sorted list rule, first reducingthe greater plurality of templates according to the received one or moreadditional characters matching one or more characters of a descriptionof the respective greater plurality of templates, and then based uponrespective scores for each of the respective greater plurality oftemplates, and wherein receiving the selected one of the set of theidentified one or more users as the second user comprises receivingadditional characters to complete the username of one of the set of theidentified one or more users.

(A8) In some embodiments of A1-A7, the operations comprise: responsiveto receiving the selected second user and providing the set ofselectable templates, receiving one or more additional characters beyondthe username of the second user; analyzing the received one or moreadditional characters beyond the username of the second user todetermine if the one or more additional characters beyond the usernameof the second user comprise one or more selection characters for the setof selectable templates; and responsive to determining that the one ormore additional characters beyond the username of the first usercomprise one or more selection characters for the set of selectabletemplates: updating the set of selectable templates according to thereceived one or more additional characters, comprising at least one of:adjusting the set of selectable templates according to the received oneor more additional characters; and responsive to updating the set ofselectable icons, providing an autocomplete suggestion of remainingcharacters of one of the updated set of selectable templates in thecompose field beyond the received one or more additional characters,wherein selection characters for the set of selectable templatescomprise one or more of an up arrow, down arrow, or right arrow symbol,or a tab, letter, enter, return, or number character.

(A9) In some embodiments of A1-A8, the set of selectable templatescomprises a first number of a greater plurality of templates, whereineach of the greater plurality of templates comprises a score, whereinthe one or more rules in the template selection mode comprises a sortedlist rule defining priority and determination of the set of selectabletemplates according to the received one or more additional characters,and wherein adjusting the set of selectable templates according to thereceived one or more additional characters comprises according to thesorted list rule, first reducing the greater plurality of templatesaccording to the received one or more additional characters matching afirst one or more characters of a description of the respective greaterplurality of templates, and then based upon respective scores for eachof the respective greater plurality of templates.

(A10) In some embodiments of A1-A9, the set of selectable templatescomprises a first number of a greater plurality of templates, whereineach of the greater plurality of templates comprises a score, and theone or more rules in the template selection mode define adjustment ordetermination of scores of at least one of the greater plurality oftemplates, and providing the set of selectable templates to the firstuser comprises: determining a priority for each of the greater pluralityof templates of the first or second user based upon respective scores ofthe each of the templates; and determining the set of selectabletemplates to the first user based on the determined priorities.

(A11) In some embodiments of A1-A10, the one or more rules in thetemplate selection mode comprises at least one of: a default rule ofbasic templates defining a first default score for a first subset ofbasic templates higher than default scores for the remaining greaterplurality of templates; a user profile rule defining a second defaultscore for a second subset of templates selected by the first user higherthan the first default score, wherein individual templates of the secondsubset are the same or different than individual templates of the firstsubset; a first user templates history rule defining a selection historyof selected templates of the first user, wherein the score of respectivetemplates of the plurality of templates increases with each selection ofthe respective template; or a semantic analysis rule defining a semanticscore for specific templates associated with words or templates of thefirst user or other users in the communication stream.

(A12) In some embodiments of A1-A11, the one or more characterscomprises at least one of a symbol, a letter, or a number; the actioncommand comprises a first symbol, wherein the first symbol comprises atleast one of an “@”, an open bracket, an open parentheses, or a colonsymbol; succeeding the action command comprises immediately succeedingthe action command; the set of selectable templates comprises a firstnumber of a greater plurality of templates; the plurality of templatescomprises at least one of reaction template or an activity template; thereaction template comprises at least one of a laugh template, a kisstemplate, a hug template, a high-five template, a handshake template, ora fist-bump template; the activity template comprises at least one of alunch template, a dinner template, a coffee template, a movie template,a beer template, a call template, a game template, a file template, arun template, a bike template, a gym template, or a trip template; therepresentation of the first user comprises one of a profile picture oran avatar of the first user; the representation of the second usercomprises one of a profile picture or an avatar of the second user; andthe representation of the selected template comprises a picturerepresentation of the selected template.

Although a few embodiments have been described in detail above, othermodifications are possible. For example, the logic flows depicted in thefigures do not require the particular order shown, or sequential order,to achieve desirable results. Other steps may be provided, or steps maybe eliminated, from the described flows, and other components may beadded to, or removed from, the described systems. Other embodiments maybe within the scope of the following claims.

In the description herein, reference is made to the accompanyingdrawings that form a part hereof, and in which is shown by way ofillustration specific embodiments which may be practiced. Theseembodiments are described in sufficient detail to enable those skilledin the art to practice the invention, and it is to be understood thatother embodiments may be utilized and that structural, logical andelectrical changes may be made without departing from the scope of thepresent invention. The included description of example embodiments is,therefore, not to be taken in a limited sense, and the scope of thepresent invention is defined by the appended claims.

The functionality can be configured to perform an operation using, forinstance, software, hardware, firmware, or the like. For example, thephrase “configured to” can refer to a logic circuit structure of ahardware element that is to implement the associated functionality. Thephrase “configured to” can also refer to a logic circuit structure of ahardware element that is to implement the coding design of associatedfunctionality of firmware or software. The term “module” refers to astructural element that can be implemented using any suitable hardware(e.g., a processor, among others), software (e.g., an application, amongothers), firmware, or any combination of hardware, software, andfirmware. The term, “logic” encompasses any functionality for performinga task. For instance, each operation illustrated in the flowchartscorresponds to logic for performing that operation. An operation can beperformed using, software, hardware, firmware, or the like. The terms,“component,” “system,” and the like may refer to computer-relatedentities, hardware, and software in execution, firmware, or combinationthereof. A component may be a process running on a processor, an object,an executable, a program, a function, a subroutine, a computer, or acombination of software and hardware. The term, “processor,” may referto a hardware component, such as a processing unit of a computer system.

Furthermore, the claimed subject matter may be implemented as a method,apparatus, or article of manufacture using standard programming andengineering techniques to produce software, firmware, hardware, or anycombination thereof to control a computing device to implement thedisclosed subject matter. The term, “article of manufacture,” as usedherein is intended to encompass a computer program accessible from anycomputer-readable storage device or media. Computer-readable storagemedia can include, but are not limited to, magnetic storage devices,e.g., hard disk, floppy disk, magnetic strips, optical disk, compactdisk (CD), digital versatile disk (DVD), smart cards, flash memorydevices, among others. In contrast, computer-readable media, i.e., notstorage media, may additionally include communication media such astransmission media for wireless signals and the like.

What is claimed is:
 1. A system for providing a command-based compositetemplate in a communication stream, comprising: one or more processors;and a memory storing computer-executable instructions that, whenexecuted, cause the one or more processors to control the system toperform operations comprising: detecting an action command in a composefield of a communication platform of a first user, wherein the actioncommand comprises a first symbol that indicates, in combination with oneor more characters from the compose field succeeding the action command,one of a plurality of functions to be performed by the system, whereinthe plurality of functions comprises causing a composite templatecomprising representations of the first and a second user combined witha representation of a selected template to be displayed in thecommunication stream; responsive to detecting the action command in thecompose field, receiving a username of a second user in the composefield and entering a template selection mode allowing for selection ofthe composite template to be displayed in the communication streamcomprising: providing, based upon one or more rules in the templateselection mode, a set of selectable templates to the first user, theselectable templates indicating the desired reaction or activitycorresponding to the first and second users, the one or more rulesdefining priority or determination of the set of selectable templates;responsive to providing the set of selectable templates, receiving aselected one of the set of selectable templates as the selected templatefrom the first user; and causing the composite template comprisingrepresentations of the first and second users combined with therepresentation of the selected template to be displayed in thecommunication stream.
 2. The system of claim 1, wherein receiving theusername of the second user comprises: parsing entries from the composefield subsequent to the action command to identify the one or morecharacters succeeding the action command; analyzing the identified oneor more characters from the compose field to determine if the identifiedone or more characters match a first one or more characters of ausername of one or more users different from the first user; andresponsive to determining that the identified one or more charactersmatch the first one or more characters of the username of one or moreusers, identifying the one or more users having usernames having thefirst one or more characters matching the identified one or morecharacters and entering a user selection mode allowing for selection ofone of the identified one or more users, comprising: providing. basedupon one or more rules in the user selection mode, a set of theidentified one or more users to the first user, the one or more rulesdefining priority or selection of the set of the identified one or moreusers; responsive to providing the set of the identified one or moreusers to the first user, receiving a selected one of the set of theidentified one or more users as the second user; and responsive toreceiving the selected second user, entering the template selection modeallowing for selection of the composite template to be displayed in thecommunication stream.
 3. The system of claim 1, wherein the compositetemplate comprises an embedded control, selectable or invocable by thesecond user, the embedded control associated with a desired reaction oractivity corresponding to the first and second users, and wherein theoperations comprise: responsive to causing the composite template to bedisplayed in the communication stream, receiving an affirmative responsefrom the second user including selection or invocation of the embeddedcontrol; and responsive to receiving the affirmative response, enteringan embedded function mode by causing the system to activate the embeddedfunction and allowing for interaction by one or both of the first andsecond users with the embedded function associated with the desiredreaction or activity indicated by the selected template.
 4. The systemof claim 3, wherein receiving the affirmative response comprisesreceiving one or more of: a click, selection, or tap on the compositetemplate, an affirmative voice or gesture input, a return selection of acomposite template of the second user in the communication stream, or anaffirmative text response.
 5. The system of claim 3, wherein theembedded function comprises one or more of: an interactive game betweenthe first and second users; a scheduling application to schedule anactivity indicated by the selected template between the first and secondusers; a voice or video communication application to establish a voiceor video communication session between the first user and the seconduser different from the displayed composite template between the firstand second users; or a collaborative work application to send, receive,or collaboratively view or edit a file or document.
 6. The system ofclaim 1, wherein providing the set of selectable templates to the firstuser comprises: composing, for each of the set of selectable templates,a respective selectable composite template as a combination of therepresentation of the first user, the representation of the second user,and the respective representation of the selected template in a look-upbox proximate the compose field.
 7. The system of claim 1, wherein theoperations comprise: composing the composite template as a combinationof the representation of the first user, the representation of thesecond user, and the representation of the selected template, thecomposite template indicating a desired reaction or activitycorresponding to the first and second users.
 8. The system of claim 1,wherein the set of selectable templates comprises a first number of agreater plurality of templates, the greater plurality of templatesindicating desired reactions or activities corresponding to the firstand second users, wherein each of the greater plurality of templatescomprises a score, wherein the operations comprise, responsive toproviding the set of the identified one or more users to the first user,receiving one or more additional characters from the compose field,wherein the one or more rules in the template selection mode defineadjustment or determination of scores of at least one of the greaterplurality of templates, the one or more rules in the user selection modecomprising: a sorted list rule defining priority and determination ofthe set of selectable templates from a greater plurality of templatesaccording to the received one or more additional characters; and a firstuser templates history rule defining a selection history of selectedtemplates of the first user, wherein the score of respective templatesof the plurality of templates increases with each selection of therespective template, wherein providing the set of the identified one ormore users to the first user comprises adjusting the set of selectabletemplates according to the received one or more additional charactersaccording to the sorted list rule, first reducing the greater pluralityof templates according to the received one or more additional charactersmatching one or more characters of a description of the respectivegreater plurality of templates, and then based upon respective scoresfor each of the respective greater plurality of templates, and whereinreceiving the selected one of the set of the identified one or moreusers as the second user comprises receiving additional characters tocomplete the username of one of the set of the identified one or moreusers.
 9. The system of claim 1, wherein the operations comprise:responsive to receiving the username of the second user and providingthe set of selectable templates, receiving one or more additionalcharacters beyond the username of the second user; analyzing thereceived one or more additional characters beyond the username of thesecond user to determine if the one or more additional characters beyondthe username of the second user comprise one or more selectioncharacters for the set of selectable templates; and responsive todetermining that the one or more additional characters beyond theusername of the first user comprise one or more selection characters forthe set of selectable templates: updating the set of selectabletemplates according to the received one or more additional characters,comprising at least one of: adjusting the set of selectable templatesaccording to the received one or more additional characters; andresponsive to updating the set of selectable templates, providing anautocomplete suggestion of remaining characters of one of the updatedset of selectable templates in the compose field beyond the received oneor more additional characters, wherein selection characters for the setof selectable templates comprise one or more of an up arrow, down arrow,or right arrow symbol, or a tab, letter, enter, return, or numbercharacter.
 10. The system of claim 9, wherein the set of selectabletemplates comprises a first number of a greater plurality of templates,wherein each of the greater plurality of templates comprises a score,wherein the one or more rules in the template selection mode comprises asorted list rule defining priority and determination of the set ofselectable templates according to the received one or more additionalcharacters, and wherein adjusting the set of selectable templatesaccording to the received one or more additional characters comprisesaccording to the sorted list rule, first reducing the greater pluralityof templates according to the received one or more additional charactersmatching a first one or more characters of a description of therespective greater plurality of templates, and then based uponrespective scores for each of the respective greater plurality oftemplates.
 11. The system of claim 1, wherein the set of selectabletemplates comprises a first number of a greater plurality of templates,the greater plurality of templates indicating desired reactions oractivities corresponding to the first and second users, wherein each ofthe greater plurality of templates comprises a score, and wherein theone or more rules in the template selection mode define adjustment ordetermination of scores of at least one of the greater plurality oftemplates, and wherein providing the set of selectable templates to thefirst user comprises: determining a priority for each of the greaterplurality of templates of the first or second user based upon respectivescores of the each of the templates; and determining the set ofselectable templates to the first user based on the determinedpriorities.
 12. The system of claim 11, wherein the one or more rules inthe template selection mode comprises at least one of: a default rule ofbasic templates defining a first default score for a first subset ofbasic templates higher than default scores for the remaining greaterplurality of templates; a user profile rule defining a second defaultscore for a second subset of templates selected by the first user higherthan the first default score, wherein individual templates of the secondsubset are the same or different than individual templates of the firstsubset; a first user templates history rule defining a selection historyof selected templates of the first user, wherein the score of respectivetemplates of the plurality of templates increases with each selection ofthe respective template; or a semantic analysis rule defining a semanticscore for specific templates associated with words or templates of thefirst user or other users in the communication stream.
 13. The system ofclaim 1, wherein the one or more characters comprises at least one of asymbol, a letter, or a number, wherein the first symbol comprises atleast one of an “@”, an open bracket, an open parentheses, or a colonsymbol, wherein succeeding the action command comprises immediatelysucceeding the action command, wherein the set of selectable templatescomprises a first number of a greater plurality of templates, thegreater plurality of templates indicating desired reactions oractivities corresponding to the first and second users, wherein theplurality of templates comprises at least one of reaction template or anactivity template, wherein the reaction template comprises at least oneof a laugh template, a kiss template, a hug template, a high-fivetemplate, a handshake template, or a fist-bump template, wherein theactivity template comprises at least one of a lunch template, a dinnertemplate, a coffee template, a movie template, a beer template, a calltemplate, a game template, a file template, a run template, a biketemplate, a gym template, or a trip template, wherein the representationof the first user comprises one of a profile picture or an avatar of thefirst user, wherein the representation of the second user comprises oneof a profile picture or an avatar of the second user, and wherein therepresentation of the selected template comprises a picturerepresentation of the selected template.
 14. A method for providing acommand-based composite template in a communication stream, comprising:detecting an action command in a compose field of a communicationplatform of a first user, wherein the action command comprises a firstsymbol that indicates, in combination with one or more characters fromthe compose field succeeding the action command, one of a plurality offunctions to be performed by the system, wherein the plurality offunctions comprises causing a composite template comprisingrepresentations of the first and a second user combined with arepresentation of a selected template to be displayed in thecommunication stream; responsive to detecting the action command in thecompose field, receiving a username of a second user in the composefield and entering a template selection mode allowing for selection ofthe composite template to be displayed in the communication streamcomprising: providing, based upon one or more rules in the templateselection mode, a set of selectable templates to the first user, theselectable templates indicating the desired reaction or activitycorresponding to the first and second users, the one or more rulesdefining priority or determination of the set of selectable templates;responsive to providing the set of selectable templates, receiving aselected one of the set of selectable templates as the selected templatefrom the first user; and causing the composite template comprisingrepresentations of the first and second users combined with therepresentation of the selected template to be displayed in thecommunication stream.
 15. The method of claim 14, wherein the compositetemplate comprises an embedded control, selectable or invocable by thesecond user, the embedded control associated with a desired reaction oractivity corresponding to the first and second users, wherein the methodcomprises: responsive to causing the composite template to be displayedin the communication stream, receiving an affirmative response from thesecond user including selection or invocation of the embedded control;and responsive to receiving the affirmative response, entering anembedded function mode by causing the system to activate the embeddedfunction and allowing for interaction by one or both of the first andsecond users with the embedded function associated with the desiredreaction or activity indicated by the selected template, whereinreceiving the affirmative response comprises receiving one or more of: aclick, selection, or tap on the composite template, an affirmative voiceor gesture input, a return selection of a composite template of thesecond user in the communication stream, or an affirmative textresponse, and wherein the embedded function comprises one or more of: aninteractive game between the first and second users; a schedulingapplication to schedule an activity indicated by the selected templatebetween the first and second users; a voice or video communicationapplication to establish a voice or video communication session betweenthe first user and the second user different from the displayedcomposite template between the first and second users; or acollaborative work application to send, receive, or collaboratively viewor edit a file or document.
 16. The method of claim 14, whereinproviding the set of selectable templates to the first user comprises:composing, for each of the set of selectable templates, a respectiveselectable composite template as a combination of the representation ofthe first user, the representation of the second user, and therespective representation of the selected template in a look-up boxproximate the compose field.
 17. The method of claim 14, comprising:composing the composite template as a combination of the representationof the first user, the representation of the second user, and therepresentation of the selected template.
 18. The method of claim 14,wherein the set of selectable templates comprises a first number of agreater plurality of templates, wherein each of the greater plurality oftemplates comprises a score, and wherein the one or more rules in thetemplate selection mode define adjustment or determination of scores ofat least one of the greater plurality of templates, and whereinproviding the set of selectable templates to the first user comprises:determining a priority for each of the greater plurality of templates ofthe first or second user based upon respective scores of the each of thetemplates; and determining the set of selectable templates to the firstuser based on the determined priorities.
 19. A system for providing acommand-based composite template in a communication stream, comprising:means for detecting an action command in a compose field of acommunication platform of a first user, wherein the action commandcomprises a first symbol that indicates, in combination with one or morecharacters from the compose field succeeding the action command, one ofa plurality of functions to be performed by the system, wherein theplurality of functions comprises causing a composite template comprisingrepresentations of the first and a second user combined with arepresentation of a selected template to be displayed in thecommunication stream; means for receiving, responsive to detecting theaction command in the compose field, a username of a second user in thecompose field and entering a template selection mode allowing forselection of the composite template to be displayed in the communicationstream, comprising: means for providing, based upon one or more rules inthe template selection mode, a set of selectable templates to the firstuser, the selectable templates indicating the desired reaction oractivity corresponding to the first and second users, the one or morerules defining priority or determination of the set of selectabletemplates; means for receiving a selected one of the set of selectabletemplates as the selected template from the first user; and means forcausing the composite template comprising representations of the firstand second users combined with the representation of the selectedtemplate to be displayed in the communication stream.
 20. The system ofclaim 19, wherein the composite template comprises an embedded control,selectable or invocable by the second user, the embedded controlassociated with a desired reaction or activity corresponding to thefirst and second users, wherein the system comprises: means forreceiving, responsive to causing the composite template to be displayedin the communication stream, an affirmative response from the seconduser including selection or invocation of the embedded control; andmeans for entering, responsive to receiving the affirmative response, anembedded function mode by causing the system to activate the embeddedfunction and allowing for interaction by one or both of the first andsecond users with the embedded function associated with the desiredreaction or activity indicated by the selected template, wherein themeans for receiving the affirmative response comprises receiving one ormore of: a click, selection, or tap on the composite template, anaffirmative voice or gesture input, a return selection a compositetemplate of the second user in the communication stream, or anaffirmative text response, wherein the embedded function comprises oneor more of: an interactive game between the first and second users; ascheduling application to schedule an activity indicated by the selectedtemplate between the first and second users; a voice or videocommunication application to establish a voice or video communicationsession between the first user and the second user different from thedisplayed composite template between the first and second users; or acollaborative work application to send, receive, or collaboratively viewor edit a file or document, wherein the first symbol comprises at leastone of an “@”, an open bracket, an open parentheses, or a colon symbol,wherein succeeding the action command comprises immediately succeedingthe action command, wherein the set of selectable templates comprises afirst number of a greater plurality of templates, wherein the pluralityof templates comprises at least one of reaction template or an activitywherein the reaction template comprises at least one of a laughtemplate, a kiss template, a hug template, a high-five template, ahandshake template, or a fist-bump template, wherein the activitytemplate comprises at least one of a lunch template, a dinner template,a coffee template, a movie template, a beer template, a call template, agame template, a file template, a run template, a bike template, a gymtemplate, or a trip template, wherein the representation of the firstuser comprises one of a profile picture or an avatar of the first user,wherein the representation of the second user comprises one of a profilepicture or an avatar of the second user, and wherein the representationof the selected template comprises a picture representation of theselected template.